package byx.container.annotation.WrapTest;

import byx.container.annotation.annotation.Register;
import byx.container.annotation.annotation.Wrap;
import java.util.function.Function;

@Register
public class Config {
    @Register
    @Wrap(Wrapper.class)
    public C c() {
        return new C();
    }

    private static class Wrapper implements Function<C, C> {
        @Override
        public C apply(C c) {
            return new C() {
                @Override
                public int f(int a) {
                    return c.f(a) + 2;
                }
            };
        }
    }

    @Register
    public Integer v1() {
        return 100;
    }

    @Register
    public String v2() {
        return "hi";
    }
}
